a = c(3, 4)
b = c(5, 0)

print(a + b)

a2 = c(1,2,4,5,6)
print(a2[3])  # 4

print(a2[2:4]) # 2 4 5

print(a2[c(2, 4, 5)]) # 2 5 6

print(a2[c(-1, -2)]) # 4 5 6

vector=c(1, 2, 3, 4, 5, 6)
matrix(vector, 2, 3) # 按列填充，结果为矩阵

matrix(vector, 2, 3, byrow=TRUE) # 按行填充

m1 = matrix(c(1, 2), 1, 2)
m2 = matrix(c(3, 4), 2, 1)
print(m1 %*% m2) # 11


# 列表
print("列表部分============>>")

list_data <- list("hello", "google", c(11,22,33), 123, 51.23, 119.1)
print(list_data)

# 列表包含向量、矩阵、列表
list_data <- list(c("Google","Baidu","Taobao"), matrix(c(1,2,3,4,5,6), nrow = 2), list("hello",12.3))

# 给列表元素设置名字
names(list_data) <- c("Sites", "Numbers", "Lists")

# 根据名字访问元素
print(list_data$Sites)

# 访问列表的第二个元素
print(list_data[2])

# 删除元素
list_data[3] <- NULL

# 更新元素
list_data[2] <- "第二个元素被我替换了"

list_data[4] <- "新增元素"
print(list_data)

v1 <- unlist(list(1,3,5)) # 列表转化成向量
print(v1)

# 数组
print("数组部分============>>")

# 创建两个不同长度的向量
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)
# 创建数组
result <- array(c(vector1,vector2),dim = c(3,3,2)) # 创建一个 3 行 3 列的的二维数组
print(result)

# 显示数组第二个矩阵中第三行的元素
print(result[3,,2])

# 显示数组第一个矩阵中第一行第三列的元素
print(result[1,3,1])

# 输出第二个矩阵
print(result[,,2])